// 控制按钮的权限
import Vue from 'vue'

/** 权限指令**/
const has = Vue.directive('has', {
  bind: function(el, binding, vnode) {
    // 获取页面按钮权限
    let btnPermissionsArr = []
    if (binding.value) {
      // 如果指令传值，获取指令参数，根据指令参数和当前登录人按钮权限做比较。
      btnPermissionsArr = Array.of(binding.value)
    } else {
      // 否则获取路由中的参数，根据路由的btnPermissionsArr和当前登录人按钮权限做比较。
      btnPermissionsArr = vnode.context.$route.meta.root
    }

    if (!Vue.prototype.$_has(btnPermissionsArr, el)) {
      Vue.prototype.$nextTick(() => {
        el.parentNode.removeChild(el)
      })
    }
  }
})
// 权限检查方法
Vue.prototype.$_has = function(btnPermissionsArr, el) {
  let isExist = false
  // 获取用户按钮权限
  // let btnPermissionsStr = sessionStorage.getItem("btnPermissions");
  // if (btnPermissionsStr == undefined || btnPermissionsStr == null) {
  //     return false;
  // }
  // if (value.indexOf(btnPermissionsStr) > -1) {
  //     isExist = true;
  // }
  btnPermissionsArr.forEach(item => {
    if (item.title == el.innerText) {
      isExist = item.show
      return
    }
  })
  return isExist
}
// 判断是否有点击权限
function checkRoot(title, router) {
  let isExist = false
  router.forEach(item => {
    if (item.title == title) {
      isExist = item.show
      return
    }
  })
  return isExist
}
export { has, checkRoot }
